Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List, and eventually document, all available Extension Points #14648

Closed
XLTechie opened this issue Feb 17, 2023 · 0 comments · Fixed by #14810
Closed

List, and eventually document, all available Extension Points #14648

XLTechie opened this issue Feb 17, 2023 · 0 comments · Fixed by #14810
Labels
audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers component/documentation triaged Has been triaged, issue is waiting for implementation.
Milestone

Comments

@XLTechie
Copy link
Collaborator

Is your feature request related to a problem? Please describe.

Unless I am unaware of a source for this information, currently in order to discover core extensionPoints that are available (already registered actions, for example), one must either search the changes file, or grep the source.

If one is attempting to write an add-on which needs to patch part of core, there may be an extensionPoint already available to provide a better alternative. But a silly amount of time is required to find those that are available.

Describe the solution you'd like

I propose a new chapter at the end of the Developer guide.
I suggest two phases for adding this: a near term phase, and a future phase.

The chapter would contain:

  • An overview of the extensionPoint concept, and the types. (Future)
  • Examples of usage for the primary types. (Future)
  • A list of all currently registered core extensionPoints. (Near term)
  • Where reasonable, notes about the usage of the pre-registered extensionPoints. (Future)

Describe alternatives you've considered

I thought about a separate document under devdocs, such as has been done for other elements. However extensionPoints seem to be the preferred method of interfacing with core operations where possible, which inextricably links them to plugin development. Therefore I think this should go in the Development Guide.

However either solution would be fine with me ultimately, as long as the end result is a centralized, quickly available, list of all registered extensionPoints; and some eventual notes about their usage in cases where it isn't obvious.

@XLTechie XLTechie changed the title List, and minimally document, all available extension points in the Development Guide List, and eventually document, all available Extension Points Feb 17, 2023
@seanbudd seanbudd added component/documentation audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers triaged Has been triaged, issue is waiting for implementation. labels Feb 24, 2023
seanbudd pushed a commit that referenced this issue Apr 19, 2023
…ints (#14810)

Closes #14648

Summary of the issue:
There is currently no definitive list of all available extension points. Since these seem to be the preferred future direction for add-ons and other code to interoperate with NVDA internals, it would be valuable to include a list of them in the Developer Guide.

It would also be valuable to include various examples and further documentation there, but that can come in a later PR.

Description of user facing changes
None.

Description of development approach
Created a new chapter in the Developer Guide, describing very briefly what extension points are, mainly as a concept introduction. This could stand to be expanded significantly.
Used grep to find all occurrences of "extensionPoint" in the source.
For each one, determined why the module was being imported, and if it was actually used to create an extension point, added appropriate entries to the dev guide describing that extensionPoint.
@nvaccessAuto nvaccessAuto added this to the 2023.2 milestone Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audience/nvda-dev PR or issue is relevant to NVDA / Add-on developers component/documentation triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants